A conventional technique called distributed-parallel complex event processing (distributed-parallel CEP) processes a large volume of event data by multiple queries in parallel and outputs a single final result. With distributed-parallel CEP by multiple nodes, since queries are present on multiple nodes, communication among the nodes occurs.
As a query development language, an object oriented language that takes development efficiency into consideration such as, for example, Java (registered tradename), is often employed. In the communication of structured data, serialization processing of data on the transmitting side and deserialization processing on the receiving side are performed. In object oriented language, structured data is called an object, serialization processing is called serialization, and deserialization processing is called deserialization.
With distributed-parallel CEP, there is a large volume of event data and consequently, loads placed on the nodes for serialization and deserialization are large. Further, a query, for example, is structured from preprocessing and post-processing, where in the preprocessing, deserialized event data is referenced, and determination is made whether to execute post-processing of the event data, or discard the event data.
According to a related technique, for example, in a distributed processing system using an object retaining a serialized format, to give notification of an event, an apparatus for receiving notification of a specific event in a network is registered and a request for object registration is transferred. For example, refer to Published Japanese-Translation of PCT Application, Publication No. 2002-505478.
Nonetheless, with convention techniques, a problem arises in that in the preprocessing of the query, even an event data that is to be discarded is deserialized, inviting increases in the load placed on the nodes. For example, with distributed-parallel CEP, in the preprocessing of a query, irrespective of a large amount of event data tending to be discarded, all the event data is deserialized. On the other hand, if event data is not deserialized, whether to discard the event data cannot be determined in the preprocessing of a query.